package com.library.book.service;

import com.library.book.model.Book;
import com.library.util.PageModel;
import java.util.List;
import java.util.Map;

public interface BookService {
    //添加图书
    boolean addBook(Book book);
    
    //删除图书
    boolean deleteBook(Integer id);
    
   //更新图书
    boolean updateBook(Book book);
    
    /**
     * 根据ID查询图书
     * @param id 图书ID
     * @return 图书对象
     */
    Book getBookById(Integer id);
    
    //获取所有图书
    List<Map<String, Object>> getAllBooks();
    
    /**
     * 根据ISBN查询图书
     * @param isbn ISBN
     * @return 图书列表
     */
    List<Map<String, Object>> getBooksByIsbn(String isbn);
    
    /**
     * 根据书名查询图书
     * @param title 书名
     * @return 图书列表
     */
    List<Map<String, Object>> getBooksByTitle(String title);
    
    /**
     * 根据作者查询图书
     * @param author 作者
     * @return 图书列表
     */
    List<Map<String, Object>> getBooksByAuthor(String author);
    
    /**
     * 根据分类查询图书
     * @param category 分类
     * @return 图书列表
     */
    List<Map<String, Object>> getBooksByCategory(String category);
    
    /**
     * 根据状态查询图书
     * @param status 状态
     * @return 图书列表
     */
    List<Map<String, Object>> getBooksByStatus(String status);
    
   //更新图书状态
    boolean updateBookStatus(Integer id, String status);
    
    //分页查询图书
    List<Map<String, Object>> getBooksByPage(PageModel pageModel);
}
